<?php if (!defined("_ECRIRE_INC_VERSION")) return;
/**
 *  RadioDJ
 *
 * @author     Aleksey Yaroshchuk (aleksey.yaroshchuk@gmail.com)
 * @license    GNU/GPL
 * @package    plugins
 * @subpackage radiodj
 * @copyright  (c) Aleksey Yaroshchuk 2011-2012
 * @link       http://www.spip-contrib.net/RadioDJ
 */

/**
 *  
 */

//TODO: Вставить проверку авторизации
//TODO: Избавиться от необходимости редиректа для обновления формы

function formulaires_radiodj_forced_dj_online_charger_dist($id_auteur, $redirect=''){
	$valeurs = array();
    //$valeurs['id_auteur'] = $id_auteur;
	
    // Проверяем не стоит уже ли этот диджей онлайн принудительно 
    $dj_mbo = sql_fetsel('*', 'spip_radiodj_schedule', 'TIME(NOW()) >= time_begin AND 
                                                        TIME(NOW()) <= time_end AND 
                                                        expires IS NOT NULL AND
                                                        id_auteur = '.$id_auteur.' AND  
                                                        day = '.date('N'), '', 'id_schedule DESC'); //  AND TIME(NOW()) <= time_end
    
    if (!$dj_mbo) {
        $valeurs['operation'] = 'push_online';
        $valeurs['submit_text'] = 'Я онлайн!';
    } else {
        $valeurs['operation'] = 'pop_online';
        $valeurs['id_schedule'] = $dj_mbo['id_schedule'];
        $valeurs['submit_text'] = 'Я не онлайн!';
    }
	return $valeurs;
}

function formulaires_radiodj_forced_dj_online_verifier_dist($id_auteur, $redirect=''){
	$erreurs = array();
    
	return $erreurs;
}

function formulaires_radiodj_forced_dj_online_traiter_dist($id_auteur, $redirect=''){ // 
    $message_ok = '';
    $id_auteur = intval($id_auteur);
    if (!$id_auteur) return;
    
    if (_request('operation') == 'push_online') {
        push_online($id_auteur);
    } else if (_request('operation') == 'pop_online') {
        sql_delete('spip_radiodj_schedule', 'id_schedule = '._request('id_schedule'));
    }
        
    //set_request('operation', '');
    //set_request('operation', '');    
    //include_spip('inc/utils');
    //var_dump(self()); // Интересно, что SPIP отдаст строку со всеми параметрами, которые пришли через _request, вставленными в URL!!! 
    //var_dump($redirect); exit;
    return array('message_ok'=>$message_ok, 'redirect'=>$redirect); // Сдесь делаем редирек, потому что надо полностью обновить форму, и я пока не знаю как по другому    
}

/**
 *  Принудительное добавление диджея в онлайн
 */
function push_online($id_auteur) {
    $time_end = false;
    // Ищем диджея который должен быть онлайн сейчас, или будет еще сегодня онлайн 
    $dj_mbo = sql_fetsel('*', 'spip_radiodj_schedule', 'TIME(NOW()) <= time_end AND day = '.date('N'), '', 'time_begin'); //  AND TIME(NOW()) <= time_end
       //var_dump($dj_mbo); exit;
    if ($dj_mbo) { 
        if (date('H:i:s') >= $dj_mbo['time_begin']) { // Если есть диджей, который должен быть сейчас онлайн
            if ($dj_mbo['id_auteur'] != $id_auteur) // Если диджей не пытается поставить себя онлайн, когда он и так по расписанию уже онлайн  
                $time_end = $dj_mbo['time_end'];    
        } else { // Если есть диджей, который еще будет онлайн
            $time_end = $dj_mbo['time_begin'];
        }
    } else { // Иначе время окончания делаем +1 час
        $time_end = date('H:i:s', mktime(date("H")+1));
    }
    
    $expires = date('Y-m-d').' '.$time_end;    
    //if ($time_end != NULL) $expires = date('Y-m-d').' '.$time_end; else $expires = date('Y-m-d').' 23:59:59';
    //var_dump($time_end);
    if ($time_end) {
    sql_insertq('spip_radiodj_schedule', array('id_auteur'=>$id_auteur, 
                                                   'day'=>date('N'), 
                                                   'time_begin'=>date('H:i:s'), 
                                                   'time_end'=>$time_end,
                                                   'expires'=> $expires
                                                   ));
    }
}
?>